package com.cqjtu.store.cart.mapper;
import com.cqjtu.store.cart.pojo.dto.CartDTO;
import com.cqjtu.store.cart.pojo.dto.CartInsertDTO;
import com.cqjtu.store.cart.pojo.dto.CountDTO;
import com.cqjtu.store.cart.pojo.vo.CartVO;
import com.cqjtu.store.cart.pojo.entity.Cart;
import com.cqjtu.store.cart.pojo.vo.CountVO;
import com.cqjtu.store.product.pojo.entity.Product;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CartMapper {


    /**
     * 根据用户id查询购物车列表
     * @param userId 用户id
     * @return 购物车列表
     */

    void updateCartNumById(@Param("id")Integer id,@Param("flag") Integer flag,@Param("userId") Integer userId);

    List<CartVO> getCartList(@Param("selectedIds") Integer[] selectedIds, @Param("userId") Integer userId);
    /**
     * 根据id删除购物车，单条
     */
    int delete(Integer id);
    Cart getById(Integer id);

    /**
     * 根据id删除购物车，批量
     */
    int deleteMore(Integer ids);


    /**
     * 清空购物车
     */
    int clear(Integer id);
//根据商品id删除购物车商品
    /*Cart getByPId(Integer ids);*/
    //List<CountVO> getByUserIdOrTitle(CountDTO countDTO);
    Cart getByPId(@Param("productId")Integer productId,@Param("userId") Integer userId);

    void insert(CartInsertDTO cartInsertDTO);

    Product getProductById(Integer productId); // 根据商品id查询商品信息
}
